<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: your name
// +----------------------------------------------------------------------
namespace app\genQuestionList\logic;

use plugin\saiadmin\basic\BaseLogic;
use plugin\saiadmin\exception\ApiException;
use plugin\saiadmin\utils\Helper;
use app\genQuestionList\model\SkiQuestionList;
use support\Log;

/**
 * 问题列表逻辑层
 */
class SkiQuestionListLogic extends BaseLogic
{

    // 下面构建连表查询后，导致model成为了Query对象，所以需要保留一个model副本
    private $op_model;
    /**
     * 构造函数
     */
    public function __construct()
    {
        $this->model = $this->op_model = new SkiQuestionList();
        // @Note 外键连接（一对一关系），ORM缺陷体现了，面向对象不够灵活，不能任意追加对象（扁平化不够方便）；
        // 归根结底是ORM的对象和接口要求返回的对象不一致导致(JAVA的方式是搞2-3个实体类，请求类、响应类、POJO类或者说ORM类，但这种方式太不灵活了)
        // @Note 这里用withJoin连接（表连接的方式）报错（因为两个表的字段一致的），所以采用with（IN即子查询的方式）
        $this->model = $this->model->with('group');
    }

    // 添加数据
    public function add($data): mixed
    {
        $this->op_model->save($data);
        return $this->op_model->getKey();
    }
    

    // 删除数据
    public function destroy($ids)
    {
        $this->op_model->destroy($ids);
    }

}
